package booyah.service;

import org.springframework.transaction.annotation.Transactional;

import booyah.application.User;

public interface UserService {

    @Transactional
    public void createUser(User user);

    @Transactional
    public void updateUser(User user);

    @Transactional
    public void deleteUser(User user);

    @Transactional (readOnly = true)
    public User findUserById(Long id);

    @Transactional (readOnly = true)
    public User findUserByEmail(String email);

    public User authenticate(String email, String password);

    @Transactional
    public String resetPassword(User user);

    @Transactional
    public String resetPassword(String email);

}
